<?php

namespace app\libs\TongtuSDK\Model;

class Transaction
{
    protected string $goodsDetailId;
    protected string $goodsDetailRemark;
    protected string $productsTotalPrice;
    protected string $productsTotalPriceCurrency;
    protected int $quantity;
    protected string $shipType;
    protected string $shippingFeeIncome;
    protected string $shippingFeeIncomeCurrency;
    protected string $sku;

    /**
     * @return string
     */
    public function getGoodsDetailId(): string
    {
        return $this->goodsDetailId;
    }

    /**
     * @param string $goodsDetailId
     */
    public function setGoodsDetailId(string $goodsDetailId): Transaction
    {
        $this->goodsDetailId = $goodsDetailId;
        return $this;
    }

    /**
     * @return string
     */
    public function getGoodsDetailRemark(): string
    {
        return $this->goodsDetailRemark;
    }

    /**
     * @param string $goodsDetailRemark
     */
    public function setGoodsDetailRemark(string $goodsDetailRemark): Transaction
    {
        $this->goodsDetailRemark = $goodsDetailRemark;
        return $this;
    }

    /**
     * @return string
     */
    public function getProductsTotalPrice(): string
    {
        return $this->productsTotalPrice;
    }

    /**
     * @param string $productsTotalPrice
     */
    public function setProductsTotalPrice(string $productsTotalPrice): Transaction
    {
        $this->productsTotalPrice = $productsTotalPrice;
        return $this;
    }

    /**
     * @return string
     */
    public function getProductsTotalPriceCurrency(): string
    {
        return $this->productsTotalPriceCurrency;
    }

    public function setProductsTotalPriceCurrency(string $productsTotalPriceCurrency): Transaction
    {
        $this->productsTotalPriceCurrency = $productsTotalPriceCurrency;
        return $this;
    }

    /**
     * @return string
     */
    public function getShipType(): string
    {
        return $this->shipType;
    }

    /**
     * @param string $shipType
     */
    public function setShipType(string $shipType): Transaction
    {
        $this->shipType = $shipType;
        return $this;
    }

    /**
     * @return string
     */
    public function getShippingFeeIncome(): string
    {
        return $this->shippingFeeIncome;
    }

    /**
     * @param string $shippingFeeIncome
     */
    public function setShippingFeeIncome(string $shippingFeeIncome): Transaction
    {
        $this->shippingFeeIncome = $shippingFeeIncome;
        return $this;
    }

    /**
     * @return string
     */
    public function getShippingFeeIncomeCurrency(): string
    {
        return $this->shippingFeeIncomeCurrency;
    }

    /**
     * @param string $shippingFeeIncomeCurrency
     */
    public function setShippingFeeIncomeCurrency(string $shippingFeeIncomeCurrency): Transaction
    {
        $this->shippingFeeIncomeCurrency = $shippingFeeIncomeCurrency;
        return $this;
    }

    /**
     * @return string
     */
    public function getQuantity(): int
    {
        return $this->quantity;
    }

    /**
     * @param string $shippingFeeIncomeCurrency
     */
    public function setQuantity(int $quantity): Transaction
    {
        $this->quantity = $quantity;
        return $this;
    }
    /**
     * @return string
     */
    public function getSku(): string
    {
        return $this->sku;
    }


    public function setSku(string $sku): Transaction
    {
        $this->sku = $sku;
        return $this;
    }

    public function toArray()
    {
        return [
            //'goodsDetailId'=>$this->getGoodsDetailId(),
            'productsTotalPrice'=>$this->getProductsTotalPrice(),
            'quantity'=>$this->getQuantity(),
            'shippingFeeIncome'=>$this->getShippingFeeIncome(),
            'sku'=>$this->getSku(),
            'productsTotalPriceCurrency'=>$this->getProductsTotalPriceCurrency(),
            'shippingFeeIncomeCurrency'=>$this->getShippingFeeIncomeCurrency(),
            'shipType'=>$this->getShipType(),
            'goodsDetailRemark'=>$this->getGoodsDetailRemark(),
        ];
    }
}
